# 需求: 对猜拳游戏进行优化
# 1.让猜拳游戏循环进行
# 2.让猜拳游戏计算得分,谁赢了积一分, 输了不扣分,平局不扣分也不得分
# 3.其中一方得分超过3分则结束游戏
# 快捷键:反向导包: alt+enter
import random

# TODO: 2.1 创建变量进行玩家和电脑分数的统计,一定要在循环体外部进行创建,否则每次循环都会初始化分数
player_score = 0
computer_score = 0

# TODO: 1. 使用while构建循环,让猜拳游戏循环进行
# TODO: 3.1 其中一方得分超过3分则结束游戏 (控制循环的跳出条件)
while player_score < 3 and computer_score < 3:
    # 1. 玩家出拳,拳型由键盘录入,用变量接受 (拳型: 1.剪刀, 2.石头,3.布)
    player = int(input('请输入您要出的拳型:(1.剪刀, 2.石头,3.布) '))

    # 2. 电脑出拳,拳型使用random模块随机生成 (拳型: 1.剪刀, 2.石头,3.布)
    computer = random.randint(1, 3)

    # 3. 使用分支语句,判断获胜方,并输出内容
    '''
    p c w  差
    1 1 -  0
    1 2 c  -1
    1 3 p  -2
    2 1 p  1
    2 2 -  0
    2 3 c  -1
    3 1 c  2
    3 2 p  1
    3 3 -  0
    '''
    if (player - computer == -1) or (player - computer == 2):
        # TODO: 2.2 当电脑获胜时,给电脑增加一分
        computer_score += 1
        print('电脑获胜')
    elif player == computer:
        print('平局')
    else:
        # TODO: 2.3 当玩家获胜时,给玩家增加一分
        player_score += 1
        print('玩家获胜')

    # TODO: 2.4 一局结束后,输出玩家和电脑的分数
    print(f'本局结束后双方得分为: 电脑{computer_score}分, 玩家{player_score}分')

# TODO: 3.2 输出最终获胜的人员
if player_score >= 3:
    print('最终玩家获得了胜利')
else:
    print('最终电脑获得了胜利')

print('游戏结束')